package com.w7vm.menuweb.dao;

import javax.annotation.Resource;
import javax.ejb.Stateless;
import javax.ejb.TransactionAttribute;
import javax.ejb.TransactionAttributeType;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.PersistenceContext;
import javax.persistence.PersistenceContextType;


import com.w7vm.menuweb.entity.RestauranteSedeInfraestruturaWeb;
import com.w7vm.menuweb.entity.RestauranteSedeWeb;

@Stateless
public class RestauranteSedeInfraestruturaDAO extends GenericDAO<RestauranteSedeInfraestruturaWeb> {

	
	@PersistenceContext(unitName = "MENUWEB-IAM-EJB")
	private EntityManager em;

	
	public RestauranteSedeInfraestruturaDAO() {
		super(RestauranteSedeInfraestruturaWeb.class);
		// TODO Auto-generated constructor stub
	}
	
	@TransactionAttribute(TransactionAttributeType.REQUIRED)
	public void deleteInfraestrutura(RestauranteSedeInfraestruturaWeb infraObj){
		System.out.println("[CORE-EJB][deleteInfraestrutura] :");
		
			//infraObj = em.merge(infraObj);
			infraObj = em.find(RestauranteSedeInfraestruturaWeb.class, infraObj.getIdRestauranteSedeInfraestruturaWeb());
			//infraObj.setRestauranteEstruturaSy(null);
			//infraObj.setRestauranteSedeWeb(null);
		System.out.println("Resultado ID ANTE DELETE  "+ infraObj.getIdRestauranteSedeInfraestruturaWeb());
			
			if(infraObj != null){
				em.remove(infraObj);
				System.out.println("Resultado ID PÓS DELETE  "+ infraObj.getIdRestauranteSedeInfraestruturaWeb());
				em.flush();
			}
		
	//	em.getTransaction().begin();
		//em.merge(infraObj);
//		infraObj = em.merge(infraObj);
	//	System.out.println("ID EXC "+ infraObj.getIdRestauranteSedeInfraestruturaWeb() );
		//em.remove(infraObj);
	//	System.out.println("ID EXCluido ");
		
		//em.flush();
		//em.remove(em.getReference(RestauranteSedeInfraestruturaWeb.class, infraObj.getIdRestauranteSedeInfraestruturaWeb()));
		//em.refresh(infraObj);
	//em.getTransaction().commit();
		//	super.deletePK(idInfraestrutura, RestauranteSedeInfraestruturaWeb.class);
	}

}
